﻿using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Polaris.Domain.Model.DbEntity
{
    public class Notes
    {
        /// <summary>
        /// 主键
        /// </summary>
        [Key]
        [Comment("主键")]
        public Guid Id { get; set; }

        /// <summary>
        /// 笔记标题
        /// </summary>
        [Comment("笔记标题"), MaxLength(255)]
        public string Title { get; set; }

        /// <summary>
        /// 天气
        /// </summary>
        [Comment("天气"), MaxLength(50)]
        public string? Weather { get; set; }

        /// <summary>
        /// 天气图标
        /// </summary>
        [Comment("天气图标")]
        public string? WeatherIcon { get; set; }

        /// <summary>
        /// 心情
        /// </summary>
        [Comment("心情"), MaxLength(50)]
        public string? Mood { get; set; }

        /// <summary>
        /// 心情图标
        /// </summary>
        [Comment("心情图标")]
        public string? MoodIcon { get; set; }

        /// <summary>
        /// 笔记内容 数据量不大 直接放在一张表
        /// </summary>
        [Comment("笔记内容 数据量不大 直接放在一张表")]
        public string Content { get; set; }

        /// <summary>
        /// 私密笔记密码
        /// </summary>
        [Comment("私密笔记密码"), MaxLength(255)]
        public string? Password { get; set; }

        /// <summary>
        /// 是否红旗
        /// </summary>
        [Comment("是否红旗")]
        public bool IsRedFlag { get; set; }

        /// <summary>
        /// 是否可以评论
        /// </summary>
        [Comment("是否可以评论")]
        public bool IsComments { get; set; }

        /// <summary>
        /// 浏览数
        /// </summary>
        [Comment("浏览数")]
        public int Browse { get; set; }

        /// <summary>
        /// 喜欢
        /// </summary>
        [Comment("喜欢")]
        public int Like { get; set; }

        /// <summary>
        /// 是否私密
        /// </summary>
        [Comment("是否私密")]
        public bool IsPrivacy { get; set; }

        /// <summary>
        /// 是否可用
        /// </summary>
        [Comment("是否可用")]
        public bool Enable { get; set; }

        /// <summary>
        /// 是否删除
        /// </summary>
        [Comment("是否删除")]
        public bool IsDelete { get; set; }

        /// <summary>
        /// 闲书内容最后更新时间
        /// </summary>
        [Comment("闲书内容最后更新时间")]
        public DateTime? NotesUpdateTime { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
        [Comment("创建人")]
        public Guid? CreateBy { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        [Comment("创建时间")]
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 更新人
        /// </summary>
        [Comment("更新人")]
        public Guid? UpdateBy { get; set; }

        /// <summary>
        /// 更新时间
        /// </summary>
        [Comment("更新时间")]
        public DateTime? UpdateTime { get; set; }
    }
}
